Spatny Recordcount (Firebird)

Otázka od: Valenta P

22. 11. 2002 12:03

Zdravim, chci se zetpat, (Firebird)
cim muze byt dano ze "select * from table" mi vrati jen jeden zaznam,
pricemz evidentne vim ze jich ma byt vic. Stejny prikaz v IB adminovi vrati
pocet spravne.

Mam podezreni na napojeni na spolecny IBdatabase a ze nekde nedobehla
transakce .... ale v dobe volani toho prikazu jsou 100% vsechny TQuery v
klidu.

nemate nejaky napad?

valik


---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.419 / Virová báze: 235 - datum vydání: 13.11.2002

Odpovedá: Lebeda David

22. 11. 2002 12:43

> Zdravim, chci se zetpat, (Firebird)
> cim muze byt dano ze "select * from table" mi vrati jen jeden zaznam,
> pricemz evidentne vim ze jich ma byt vic. Stejny prikaz v IB adminovi
> vrati pocet spravne.

Select * from table nevraci pocet, takze v IBAdminovi zadavas
nejspis neco jineho. Jestli ale pouzivas RecordCount na klientovi,
tak se musis smirit s tim, ze ten ukazuje spravny udaj jen tehdy,
byly-li jiz na klienta dotazeny vsechny zaznamy. Tj. po volani Last,
FetchAll apod. Dokud tam nejsou vsechny ukazuje RecordCount jen
pocet vet, ktere si klient dosud vyzadal. Coz na zacatku je jedna
veta.

David Lebeda

Odpovedá: Roman

22. 11. 2002 13:00

> Zdravim, chci se zetpat, (Firebird)
> cim muze byt dano ze "select * from table" mi vrati jen jeden zaznam,
> pricemz evidentne vim ze jich ma byt vic. Stejny prikaz v IB adminovi
vrati
> pocet spravne.
>
> Mam podezreni na napojeni na spolecny IBdatabase a ze nekde nedobehla
> transakce .... ale v dobe volani toho prikazu jsou 100% vsechny TQuery v
> klidu.
>
> nemate nejaky napad?

Me napada, ze bys nam moh napsat, jak a pomoci ceho ten pocet zjistujes
  "Select *" ti pocet rozhodne nevrati.
JInak na prvni pohled to vypada, ze fetchnes jenom prvni radek a pak se
snazis zjistit hodnotu RecordCount.

Roman
==============================
http://kouzelne.misto.cz

Odpovedá: Jan Sebelík

23. 11. 2002 18:44

> Odesílatel: Valenta P <valentapat@volny.cz>
> Zdravim, chci se zetpat, (Firebird)
> cim muze byt dano ze "select * from table" mi vrati jen jeden zaznam,
> pricemz evidentne vim ze jich ma byt vic.

No, pokud ti rozumim:
RecordCount je neco jineho nez select count(*) from table, tedy alespon u SQL
databazi.
Na Query.RecordCount se muzes spolehnout az v tom okamziku, kdyz na klienta
"pritecou" vsechny zaznamy.
To neni hned po otevreni (Query.Open).

Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 493 792 931 (mobil 776 347735)
=========================================

Odpovedá: Ales Pavel

22. 11. 2002 14:43

to je jednoducheee....FB alokuje jen prvni zaznam...musel by jsi volat
fetchall,nebo tak nejak...taky uz mi to tu nekdo rekl...
pokud se hrabes radky delej to pomoci next a while not EOF..tak to delam
jaaa

> cim muze byt dano ze "select * from table" mi vrati jen jeden zaznam,

Hezky den

Ales Pavel
D6 Ent WXP
laik v profesionalnim kolotoci
http://talpa.chytrak.cz/

Odpovedá: Valenta P

22. 11. 2002 14:33

Bylo ukazano na takovem jednoduchem selectu ....
jasne ten select vrati X zaznamu, a funkce RecordCount mi vrati = 1
Takze tento mail je pro me dulezity, diky moc.

----- Original Message -----
From: "Lebeda David" <david.lebeda@comarr.cz>
..... jen tehdy,
> byly-li jiz na klienta dotazeny vsechny zaznamy. Tj. po volani Last,
> FetchAll apod. Dokud tam nejsou vsechny ukazuje RecordCount jen
> pocet vet, ktere si klient dosud vyzadal. Coz na zacatku je jedna
> veta.



---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.419 / Virová báze: 235 - datum vydání: 13.11.2002

Odpovedá: Jan Fiala [work]

25. 11. 2002 9:10

jeden zaznam mi vracel MSSQL, kdyz na tabulce nebyl primarni klic. pridanim
primarniho klice uz vracel spravny pocet zaznamu. mozna to bude stejne i na
firebird

Honza Fiala

-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
Behalf Of Valenta P
Sent: Friday, November 22, 2002 1:25 PM
To: delphi-l@clexpert.cz
Subject: Re: Spatny Recordcount (Firebird)


Bylo ukazano na takovem jednoduchem selectu ....
jasne ten select vrati X zaznamu, a funkce RecordCount mi vrati = 1
Takze tento mail je pro me dulezity, diky moc.

----- Original Message -----
From: "Lebeda David" <david.lebeda@comarr.cz>
..... jen tehdy,
> byly-li jiz na klienta dotazeny vsechny zaznamy. Tj. po volani Last,
> FetchAll apod. Dokud tam nejsou vsechny ukazuje RecordCount jen
> pocet vet, ktere si klient dosud vyzadal. Coz na zacatku je jedna
> veta.



---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.419 / Virová báze: 235 - datum vydání: 13.11.2002